﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using HRProject.Code.Common;

namespace HRProject.Code.DTO
{
    public class BLAgentMonthlyBasicSalary : BLAgentMonthlySalary
    {
        public const string SALARY_LEVEL = "Level";
        public const string SENORITY = "Senority";

        private BLMonthlyBasicSalaryTable monthRef;
        private BLSalaryInfo salaryLevel;
        private BLSalaryInfo senority;
        private int salaryLevelSalaryCalc;
        private int senoritySalaryCalc;
        private int totalBasicSalary;

        public BLMonthlyBasicSalaryTable MonthRef
        {
            get { return monthRef; }
            set { monthRef = value; }
        }

        public int TotalBasicSalary
        {
            get { return totalBasicSalary; }
            set { totalBasicSalary = value; }
        }

        public string TotalBasicSalaryString
        {
            get
            {
                return Util.CustomFormat(totalBasicSalary.ToString(Constant.LongFormat, Constant.enCulture));
            }
        }

        public int SenoritySalaryCalc
        {
            get { return senoritySalaryCalc; }
            set { senoritySalaryCalc = value; }
        }

        public string SenoritySalaryCalcString
        {
            get
            {
                return Util.CustomFormat(senoritySalaryCalc.ToString(Constant.LongFormat, Constant.enCulture));
            }
        }

        public int SalaryLevelSalaryCalc
        {
            get { return salaryLevelSalaryCalc; }
            set { salaryLevelSalaryCalc = value; }
        }

        public string SalaryLevelSalaryCalcString
        {
            get
            {
                return Util.CustomFormat(salaryLevelSalaryCalc.ToString(Constant.LongFormat, Constant.enCulture));
            }
        }

        public BLSalaryInfo Senority
        {
            get { return senority; }
            set { senority = value; }
        }

        public BLSalaryInfo SalaryLevel
        {
            get { return salaryLevel; }
            set { salaryLevel = value; }
        }

        public BLAgentMonthlyBasicSalary(BLMonthlyBasicSalaryTable monthRef)
            :base()
        {
            this.monthRef = monthRef;
            this.salaryLevel = new BLSalaryInfo();
            this.salaryLevel.InfoName = SALARY_LEVEL;
            this.senority = new BLSalaryInfo();
            this.senority.InfoName = SENORITY;
        }
    }
}
